package com.dhecp.core.constant;

/**
 * @ClassName ActivitiConstant
 * @Description 工作流常量
 * @Author alula
 * @Date 2019-11-29 14:27
 */
public class FlowableConstant {

    /**
     * 并行网关开始标识
     */
    public final static String SPECIAL_GATEWAY_BEGIN_SUFFIX = "_begin";

    /**
     * 并行网关结束标识
     */
    public final static String SPECIAL_GATEWAY_END_SUFFIX = "_end";

    /**
     * 自定义审批人（扩展流程设计器的KEY与ID）
     */
    public static final String CUSTOM_DATA_CANDIDATE_KEY = "customDataCandidate";
    public static final String CUSTOM_DATA_CANDIDATE_ID = "customdatacandidate";

    /**
     * 自定义审批功能KEY（扩展流程设计器的KEY与ID）
     */
    public static final String CUSTOM_AUDIT_FUNCTIONKEY_KEY = "customAuditFunctionKey";
    public static final String CUSTOM_AUDIT_FUNCTIONKEY_ID = "customauditfunctionkey";

    /**
     * 自定义审批跳转FORM（扩展流程设计器的KEY与ID）
     */
    public static final String CUSTOM_AUDIT_FORMPAGE_KEY = "customAuditFormPage";
    public static final String CUSTOM_AUDIT_FORMPAGE_ID = "customnauditformpage";

    /**
     * 自定义审批是否编辑（扩展流程设计器的KEY与ID）
     */
    public static final String CUSTOM_AUDIT_FUNCTIONEDIT_KEY = "customAuditFunctionEdit";
    public static final String CUSTOM_AUDIT_FUNCTIONEDIT_ID = "customnauditfunctionedit";

    /**
     * 自定义assignee属性用于存放配置
     */
    public static  final String CUSTOM_ASSIGNEENAME_KEY = "customAssigneeName";

    /**
     * 自定义CandidateUsers属性用于存放配置
     */
    public static  final String CUSTOM_CANDIDATEUSERS_KEY = "customCandidateUsers";

    /**
     * 自定义CandidateGroups属性用于存放配置
     */
    public static  final String CUSTOM_CANDIDATEGROUPS_KEY = "customCandidateGroups";

    /**
     * 状态 待处理
     */
    public static final Integer STATUS_TO_APPLY = 0;

    /**
     * 状态 处理中
     */
    public static final Integer STATUS_DEALING = 1;

    /**
     * 状态 处理结束
     */
    public static final Integer STATUS_FINISH = 2;

    /**
     * 状态 已撤回
     */
    public static final Integer STATUS_CANCELED = 3;

    /**
     * 结果 待提交
     */
    public static final Integer RESULT_TO_SUBMIT = 0;

    /**
     * 结果 处理中
     */
    public static final Integer RESULT_DEALING = 1;

    /**
     * 结果 通过
     */
    public static final Integer RESULT_PASS = 2;

    /**
     * 结果 退回
     */
    public static final Integer RESULT_BACK = 3;

    /**
     * 结果 驳回
     */
    public static final Integer RESULT_REJECT = 4;

    /**
     * 结果 委托
     */
    public static final Integer RESULT_DELEGATE = 5;

    /**
     * 结果 转办
     */
    public static final Integer RESULT_TRANSFER = 6;

    /**
     * 结果 撤回
     */
    public static final Integer RESULT_CANCEL = 7;

    /**
     * 结果 删除
     */
    public static final Integer RESULT_DELETED = 8;

    /**
     * 结果 中止
     */
    public static final Integer RESULT_END= 9;

    /**
     * 节点类型 开始节点
     */
    public static final Integer NODE_TYPE_START = 0;

    /**
     * 节点类型 用户任务
     */
    public static final Integer NODE_TYPE_TASK = 1;

    /**
     * 节点类型 结束
     */
    public static final Integer NODE_TYPE_END = 2;

    /**
     * 节点类型 排他网关
     */
    public static final Integer NODE_TYPE_EG = 3;

    /**
     * 执行任务用户类型
     */
    public static final String EXECUTOR_TYPE = "actualExecutor";

    /**
     * 删除理由前缀
     */
    public static final String DELETE_PRE = "deleted-";

    /**
     * ACT自动删除理由前缀
     */
    public static final  String Act_DELETE_PRE = "Change parent activity";

    /**
     * 取消理由前缀
     */
    public static final String CANCEL_PRE = "canceled-";

    /**
     * 通过标记
     */
    public static final String PASSED_FLAG = "completed";

    /**
     * 回退标记
     */
    public static final String BACKED_FLAG = "backed";

    /**
     * 驳回标记
     */
    public static final String REJECTED_FLAG = "rejected";

    /**
     * 中止标记
     */
    public static final String ENDED_FLAG = "ended";

    /**
     * 自动通过标记
     */
    public static final String AUTOPASSED_FLAG = "autocompleted";

}
